iT邦幫忙

2022 iThome 鐵人賽

DAY 4
0
AI & Data

預測惱人的人事物:跟我一起學習如何用資料分析來避開他們系列 第 4

資料結構化與清洗:因為雜亂無章,所以需要

  • 分享至 

  • xImage
  •  

為什麼資料需要清洗

各位都應該有看過網路新聞的留言板吧?底下除了針對新聞的實質留言以外,還充斥著各種針對執政者、意見相左的人、甚至不認識的路人的謾罵批評等等,與新聞內容並無太大關聯的意見。

如果我們今天想要從留言觀察群眾對於該則新聞的看法,例如「因為這幾天地震有感,政府是否要加強預防的政策力道」議題,我們是不是應該要把前述這種無關聯的資料過濾掉呢?

同樣的道理適用在大多數的分析情境,即使我們已經有記錄、即便記錄很大量,仍然要進行資料清洗的環節。理由在於,不論我們選擇哪一種分析方法,都要避免這些資料污染我們的結果

除了工程師的經歷外,筆者過往亦曾處理為時不短的資料標記,大致總結出會得出最好的訓練結果的資料,必須至少符合以下兩點之一:

  1. 量多:多到標記錯誤或是不乾淨的資料造成的負面影響,可以被忽略不計。
  2. 精確:如果量沒辦法提高,就勢必得注意資料的品質,避免雜訊或是標記錯誤對分析結果造成影響。

回到筆者先前的記錄,我們可以設想以下的資料,不應該做為分析素材:

  1. 時間對不起來:例如 2022/09/19 是週一,結果記錄記為週二。
  2. 缺少必要資訊:在 Day 02 提到,我們希望每一筆資料都必須包含「小時分鐘+日期+星期幾」的資訊,缺一不可。如果真的有缺漏,我們也只能忍痛過濾掉了。

另外資料清洗也包去除每筆資料資料本身的雜質。以下圖為例:

我們可以看到,短短五行內,就有許多英文的句號「.」。原來是手機的輸入法在連續輸入空格的時候,會自動在已輸入過的句子後面加上一個英文句號。雖然一般情形來說確實很貼心,但多餘的句號都會影響我們人類判讀了,更何況是機器!所以必須過濾掉。

為此同時,還要保留第一個英文句號,作為小時分鐘的區隔

為什麼需要結構化

再一次以上圖為例,我們可以看到,每一行就是獨立的一串文字。要不是有筆者在前幾篇向各位介紹我們目前資料形態,不然任誰來看大概只能看出這是一串時間,但也僅止於是一串時間,並沒有意義

如果我們將資料添加上欄位資訊,變成像下圖這樣:

https://ithelp.ithome.com.tw/upload/images/20220919/20141357aMGnPTTCYl.png

是不是這些資料就有了生命!

我們結構化的目的,在於賦予這些資料被利用的可能,也就是他們意義

延伸閱讀

Changelog

  • 2022/09/22 修正錯誤圖片連結

上一篇
釐清問題與設計解決方案:該怎麼達成 & 兼談專案執行
下一篇
結構化實作 Part 1:將記錄從 Google Keep 輸出
系列文
預測惱人的人事物:跟我一起學習如何用資料分析來避開他們38
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言